package com.custom.base.base

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.widget.Toolbar

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewbinding.ViewBinding
import com.google.android.material.appbar.AppBarLayout
import com.custom.base.manager.SDFragmentManager

/**
 * 作者：
 * 时间：2020/12/8
 * 描述：
 */
abstract class BaseActivityFragment: Fragment() {
    protected lateinit var mActivity: FragmentActivity
    protected lateinit var mContextView: View
    protected var mFManager: SDFragmentManager? = null
    /**
     * 初始化参数
     *
     * @param parms
     */
    protected fun initParms(parms: Bundle) {}

    /**
     * 绑定视图
     *
     * @return
     */
    protected fun bindView(): View? {
        return null
    }

    /**
     * 绑定布局
     *
     * @return
     */
    protected abstract fun bindLayout(): Int

    /**
     * 初始化控件
     *
     * @param view
     */
    open fun initView(view: View){}
    /**
     * 是否显示title
     */
    open fun setTitleVisibility():Boolean{ return false }
    /**
     * 是否显示返回键
     */
    open fun setTitleBackVisibility():Boolean{ return true }
    /**
     * 获取toolbar
     * 改背景色  setBackgroundColor()
     * 改返回键图标   setNavigationIcon()
     * 标题和返回按钮为白色
     *    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
     *    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
     */
    open fun getToolbarView(toolbar: Toolbar) {}

    /**
     * 获取AppBarLayout
     */
    open fun getAppBarLayoutView(actBaseAppBarLayout: AppBarLayout) { actBaseAppBarLayout.setOnClickListener {  } }

    /**
     * 获取TitleTextView  可以设置title 和 颜色等
     */
    open fun getTitleTextView(tv : TextView) {}

    /**
     * 返回键回调
     */
    open fun onBackListener(){ mActivity?.finish() }
}
